﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using BKH.BLL;

namespace BKH.MyUserControl.UCHienThi
{
    public partial class ucKeDonNgoaiTru : UserControl
    {
        int khoaID, lanKhamID;
        public ucKeDonNgoaiTru(int khoaID, int lankham)
        {
            InitializeComponent();
            this.khoaID = khoaID;
            this.lanKhamID = lankham;
            showTenThuoc();

        }

        /// <summary>
        /// HIển thị tên thuốc vào combobox
        /// </summary>
        void showTenThuoc()
        {
            HospitalDBDataContext context = new HospitalDBDataContext();
            var thuoc = context.tbl_Thuocs.Where(idkhoa => idkhoa.KhoaID == khoaID).ToList();

            cbbTenThuoc.DataSource = thuoc;
            cbbTenThuoc.DisplayMember = "TenThuoc";
            cbbTenThuoc.ValueMember = "ThuocID";
        }

        /// <summary>
        /// them thuoc vao don 
        /// </summary>

        void insertChiTietDon()
        {
            HospitalDBDataContext context = new HospitalDBDataContext();
            tbl_ChiTietDonThuoc tblChiTietDon = new tbl_ChiTietDonThuoc();
            ChiTietDonThuocBUO chiTietDonBUO = new ChiTietDonThuocBUO();
            tblChiTietDon.DonThuocID = getDonThuocID();
            int thuocid = int.Parse(cbbTenThuoc.SelectedValue.ToString());
            tblChiTietDon.ThuocID = thuocid;
            tblChiTietDon.SoLuong = txtSoLuong.Text;
            tblChiTietDon.NgayBatDau = dtpbatdau.Text;
            tblChiTietDon.NgayKetThuc = dtpketthuc.Text;

            var list = context.tbl_ChiTietDonThuocs.Where(n => n.ThuocID == thuocid && n.DonThuocID == getDonThuocID()).ToList<tbl_ChiTietDonThuoc>();
            //MessageBox.Show(list.Count.ToString());
            if (list.Count == 0)
            {
                if (chiTietDonBUO.Insert(tblChiTietDon))
                {
                    lbThongBao.Text = "Thêm thuốc thành công";

                }
                else
                {
                    lbThongBao.Text = "Thêm thuốc ko thành công";
                }

            }
            else
            {
                MessageBox.Show("Thuốc đã có trong đơn");
            }
            
        }

        /// <summary>
        ///lấy đơn thuốc id theo từng lần khám 
        /// </summary>
        int getDonThuocID()
        {

            HospitalDBDataContext context = new HospitalDBDataContext();
            return context.tbl_DonThuocs.Where(idlankham => idlankham.LanKhamID == lanKhamID).FirstOrDefault().DonThuocID;

        }

        private void btnThem_Click(object sender, EventArgs e)
        {
            insertChiTietDon();
            ChiTietDonThuocBUO chiTietDonBUO = new ChiTietDonThuocBUO();
            showDonThuoc();

        }
        /// <summary>
        /// Hiển thị thông tin đơn thuốc
        /// </summary>
        void showDonThuoc()
        {
            HospitalDBDataContext context = new HospitalDBDataContext();
            var list = context.tbl_ChiTietDonThuocs.Join(context.tbl_Thuocs,
                c => c.ThuocID,
                o => o.ThuocID,
                (c, o) => new
                {
                    DonThuocID = c.DonThuocID,
                    TenThuoc = o.TenThuoc,
                    SoLuong = c.SoLuong,
                    NgayBatDau = c.NgayBatDau,
                    NgayKetThuc = c.NgayKetThuc

                }).Where(n => n.DonThuocID == getDonThuocID());
            dataGridView1.AutoGenerateColumns = false;
            dataGridView1.DataSource = list;
        }
    }
}
